zsApp
.controller('terminal', ["$scope", "$http", "$state", function( $scope, $http, $state ) { 
	// 默认关闭弹窗
	$(".modal-backdrop").remove();
	// 储存ID
	$scope.terminalCode = [];
	// 详情
	$scope.detailsInfo = {};
	// 修改
	$scope.editInfo = {};
	
	// 分页
	function dataRendering() {
		$scope.paginationConf = {
	        currentPage    : 1,
	        totalItems     : 100,
	        itemsPerPage   : 10,
	        pagesLength    : 15,
	        perPageOptions : [10, 20, 30, 40, 50],
	        onChange: function(){
	        	var self = this;
	        	if( (($scope.isRequestCurrentPage != self.currentPage) || ($scope.isRequestItemsPerPage != self.itemsPerPage)) && (new Date() - $scope.nowTime > 500) )
	        	{	
	        		$scope.nowTime = new Date();
					$http
					({
						url  : $scope.zsUrl+'digitalhome-boss/product/terminals/getList?pageNumber='+self.currentPage+'&pageSize='+self.itemsPerPage+'',
						method : 'POST',
					})
					.then
					(
						function success(res) {
							// console.log(res.data);
							// 终端设备列表页面表格
							$scope.tabVal = res.data.result;
							// 遍历所有终端设备ID
							angular.element(res.data.result).each(function(i) {
								$scope.terminalCode[i] = this.terminalCode;
							});
							// 总共有多少条数据
							self.totalItems = res.data.length;

						}, 
						function error(err) {
							console.log(err);
						}
					);

					$scope.isRequestCurrentPage = self.currentPage;
					$scope.isRequestItemsPerPage = self.itemsPerPage;

				}
	        }
	    }
    }
    dataRendering();

    // 确定新增（新增一条终端设备键数据）
	$scope.confirmNewlyAdded = function() {
		// alert(1);
		console.log($scope.details_terminal_code);

		
		// 新增信息（封装成JSON）
		var terminalData = {
			terminalCode   : $scope.details_terminal_code,
			terminalName   : $scope.details_terminal_name,
			description   : $scope.details_description,
			
		}
		//console.log();

		$http
		({
			url    : $scope.zsUrl+'digitalhome-boss/product/terminals/add',
			method : 'POST',
			data   : terminalData, /* 将JSON发送给服务器 */
 
 			
		}).then(function success(res) {
			console.log(res.status);
		},
		function error(err){
			console.log(err);
		});
		// 关闭窗口
		$('#newlyAdded').modal('hide');
	}

	// 详情（用于展示从服务器获取的配置键信息）
	$scope.details = function($event, $index) {
		console.log($scope.terminalCode[$index]);
		$http
		({
			url    : $scope.zsUrl+'digitalhome-boss/product/terminals/getTerminalsInfo/'+$scope.terminalCode[$index]+'',
			method : 'GET',
		})
		.then(
			function success(res) 
			{
				console.log(res.data.result.terminalCode);

				$scope.details_terminal_code = res.data.result.terminalCode;
				$scope.details_terminal_name = res.data.result.terminalName;
				$scope.details_description = res.data.result.description;
				
			},
			function error(err) 
			{
				console.log(err);
			}
		);
		
	}


	// 修改（调用接口与"详情"相同，用于展示从服务器获取的配置键信息）
	var __index = 0;
	$scope.edit = function($event, $index) {
		__index = $index;
		$http({
			url    : $scope.zsUrl+'digitalhome-boss/product/terminals/getTerminalsInfo/'+$scope.terminalCode[$index]+'',
			method : 'POST',
		})
		.then(
			function success(res) {
				//console.log(res.data.result.sortIndex);
				// 展示从服务器获取到的配置键信息
				
				$scope.details_terminal_code  = res.data.result.terminalCode;
				$scope.details_terminal_name  = res.data.result.terminalName;
				$scope.details_description    = res.data.result.description;
			},
			function error() {

			}
		);

	}

	// 确认修改（用于修改原有的配置键信息）
	$scope.confirmEdit = function($event) {

		// 修改终端编码、终端名称、描述（封装成JSON）
		var editData = {
			
            
            terminalId    : $scope.terminalCode[__index],
			terminalCode  : $scope.terminalCode[__index],
			terminalName  : $scope.details_terminal_name,
			description   : $scope.details_description,
		}

		$http(
		{
			url   	: $scope.zsUrl+'digitalhome-boss/product/terminals/modify',
			method  : 'POST',
			data    : editData, /* 将JSON发送给服务器 */
		})
		.then(function success(res) 
		{
			console.log(res);
		}, function error(err) 
		{
			console.log(err);
		});
	}


// 删除（保存当前点击对象的$index、this指向）
	var _this = '', _index = 0;
	$scope.delete = function($event, $index) { 
		// 当前对象（this指向不变）
		_this = angular.element($event.target);
		// 每一行的序列号
		_index = $index;
	}

	// 确定删除（用于删除配置键信息）
	$scope.confirmDel = function($event) {

		console.log(_index);
		$http
		({
			url: $scope.zsUrl+'digitalhome-boss/product/terminals/delete',
			method: 'POST',
			data: { terminalCode  : $scope.terminalCode[__index] }, /* 给服务器发送需要删除的数据对应的ID */
		})
		.then
		(
			function success(res) {
				console.log(res);
				// result_code == '0000' 则删除，否则不删除
				if( '0000' == res.data.result_code )
				{
					_this.parents('tr').remove();
				}
				else 
				{
					console.log(res.data);
				}
			},
			function error(err) {
				console.log(err);
			}
		);

	}

}]);

	